Digital information is commonly transmitted between different data processing systems via an electronic signal. The information is encoded in a series of high and low pulses which are transmitted, decoded, and stored in temporary memory registers.
When digital information is transmitted via a serial bit stream, difficulties may be encountered in finding the proper means to decode information. One decoding method provides a clock signal which controls at what intervals the bit stream is read or sampled. In most cases the pulses from a voltage control oscillator are used as a clock. Every time a pulse is output from the oscillator, a reading is taken from the bit stream.
In systems which use a clock signal to decode, means must be provided to synchronize the clock signal with the incoming bit stream. This can be done by including a preamble in the bit stream. The preamble is located at the beginning of the bit stream and contains a series of test signals which align the clock with the incoming data. If the bit stream and the clock are not properly synchronized, data will be read at the wrong time, possibly causing multiple bit errors. Once the clock and the incoming data are properly aligned, the actual data is read at :intervals controlled by the voltage controlled oscillator.
Any system which uses clock signals to control the reading of incoming data may be susceptible to bit errors due to noise or frequency changes which may appear in the signal of the digital bit stream. Noise or frequency variations in the bit stream can cause the data and the clock to become misaligned, which in turn causes bit errors. Also, a preamble degrades link latency when multiple sources are to be received, thus slowing the system.
Another type of prior art system includes the timing signal in the digital bit stream itself. The decoder has an internal clock and means are provided to synchronize this clock with timing signal in the bit stream. This system has the same drawbacks as the system described above in that an external clock is still needed to read the data, and valuable computer time is used in synchronizing the clock and the data.
Thus there is a need to provide a digital bit stream decoder which does not rely on an external clock signal or the need to synchronize a clock with the incoming data.